home *** CD-ROM | disk | FTP | other *** search
/ Aminet 37 / Aminet 37 (2000)(Schatztruhe)[!][Jun 2000].iso / Tools / ClassAct / Examples / Speed / SpeedExample2.c < prev    next >
C/C++ Source or Header  |  1997-04-27  |  7KB  |  295 lines

  1. /* ClassAct Example
  2.  * Copyright © 1995 Christopher Aldi
  3.  * All Rights Reserved.
  4.  *
  5.  * This Example Shows ClassAct's speed laying out & rendering 50 checkboxs
  6.  */
  7.  
  8. #include <clib/macros.h>
  9. #include <clib/alib_protos.h>
  10.  
  11. #include <proto/exec.h>
  12. #include <proto/dos.h>
  13. #include <proto/utility.h>
  14. #include <proto/graphics.h>
  15. #include <proto/intuition.h>
  16.  
  17. #include <stdio.h>
  18. #include <stdlib.h>
  19. #include <string.h>
  20.  
  21. #include <proto/window.h>
  22. #include <classes/window.h>
  23.  
  24. #include <libraries/gadtools.h>
  25. #include <classact.h>
  26. #include <classact_author.h>
  27.  
  28. struct ClassLibrary *WindowBase;
  29. struct ClassLibrary *LayoutBase;
  30. struct ClassLibrary *CheckBoxBase;
  31.  
  32. LONG ARG[1];
  33.  
  34. int main( void )
  35. {
  36.     struct Window *window;
  37.     Object *Win_Object;
  38.     ULONG signal, result;
  39.     ULONG done = FALSE;
  40.     struct RDArgs *args;
  41.     
  42.     if (!(args = ReadArgs("ND=NODEFER/S",ARG,NULL)))
  43.         return 20;
  44.  
  45.     /* Open the classes we will use. Note, classlib.lib SAS/C or DICE autoinit
  46.      * can do this for you automatically.
  47.      */
  48.     if( WindowBase = (struct ClassLibrary *)OpenLibrary("window.class",0L) )
  49.     {
  50.         if( LayoutBase = (struct ClassLibrary *)OpenLibrary("gadgets/layout.gadget",0L) )
  51.         {
  52.             if( CheckBoxBase = (struct ClassLibrary *)OpenLibrary("gadgets/checkbox.gadget",0L) )
  53.             {
  54.                 /* Create the window object.
  55.                  */
  56.                 Win_Object = WindowObject,
  57.                     WA_ScreenTitle, "ClassAct Copyright 1995, Phantom Development LLC.",
  58.                     WA_Title, "SpeedTest2 (50 checkboxes)",
  59.                     WA_SizeGadget, TRUE,
  60.                     WA_Left, 40,
  61.                     WA_Top, 30,
  62.                     WA_DepthGadget, TRUE,
  63.                     WA_DragBar, TRUE,
  64.                     WA_CloseGadget, TRUE,
  65.                     WA_Activate, TRUE,
  66.                     WINDOW_ParentGroup, HGroupObject,
  67.                         TAligned, 
  68.                         LAYOUT_SpaceOuter, TRUE,
  69.                         LAYOUT_DeferLayout, !ARG[0],
  70.                         StartVGroup,
  71.                             StartMember, CheckBoxObject,
  72.                                 GA_Text, "CheckBox",
  73.                             EndMember,
  74.                             StartMember, CheckBoxObject,
  75.                                 GA_Text, "CheckBox",
  76.                             EndMember,
  77.                             StartMember, CheckBoxObject,
  78.                                 GA_Text, "CheckBox",
  79.                             EndMember,
  80.                             StartMember, CheckBoxObject,
  81.                                 GA_Text, "CheckBox",
  82.                             EndMember,
  83.                             StartMember, CheckBoxObject,
  84.                                 GA_Text, "CheckBox",
  85.                             EndMember,
  86.                             StartMember, CheckBoxObject,
  87.                                 GA_Text, "CheckBox",
  88.                             EndMember,
  89.                             StartMember, CheckBoxObject,
  90.                                 GA_Text, "CheckBox",
  91.                             EndMember,
  92.                             StartMember, CheckBoxObject,
  93.                                 GA_Text, "CheckBox",
  94.                             EndMember,
  95.                             StartMember, CheckBoxObject,
  96.                                 GA_Text, "CheckBox",
  97.                             EndMember,
  98.                             StartMember, CheckBoxObject,
  99.                                 GA_Text, "CheckBox",
  100.                             EndMember,
  101.                         End,
  102.                         StartVGroup,
  103.                             StartMember, CheckBoxObject,
  104.                                 GA_Text, "CheckBox",
  105.                             EndMember,
  106.                             StartMember, CheckBoxObject,
  107.                                 GA_Text, "CheckBox",
  108.                             EndMember,
  109.                             StartMember, CheckBoxObject,
  110.                                 GA_Text, "CheckBox",
  111.                             EndMember,
  112.                             StartMember, CheckBoxObject,
  113.                                 GA_Text, "CheckBox",
  114.                             EndMember,
  115.                             StartMember, CheckBoxObject,
  116.                                 GA_Text, "CheckBox",
  117.                             EndMember,
  118.                             StartMember, CheckBoxObject,
  119.                                 GA_Text, "CheckBox",
  120.                             EndMember,
  121.                             StartMember, CheckBoxObject,
  122.                                 GA_Text, "CheckBox",
  123.                             EndMember,
  124.                             StartMember, CheckBoxObject,
  125.                                 GA_Text, "CheckBox",
  126.                             EndMember,
  127.                             StartMember, CheckBoxObject,
  128.                                 GA_Text, "CheckBox",
  129.                             EndMember,
  130.                             StartMember, CheckBoxObject,
  131.                                 GA_Text, "CheckBox",
  132.                             EndMember,
  133.                         End,
  134.                         StartVGroup,
  135.                             StartMember, CheckBoxObject,
  136.                                 GA_Text, "CheckBox",
  137.                             EndMember,
  138.                             StartMember, CheckBoxObject,
  139.                                 GA_Text, "CheckBox",
  140.                             EndMember,
  141.                             StartMember, CheckBoxObject,
  142.                                 GA_Text, "CheckBox",
  143.                             EndMember,
  144.                             StartMember, CheckBoxObject,
  145.                                 GA_Text, "CheckBox",
  146.                             EndMember,
  147.                             StartMember, CheckBoxObject,
  148.                                 GA_Text, "CheckBox",
  149.                             EndMember,
  150.                             StartMember, CheckBoxObject,
  151.                                 GA_Text, "CheckBox",
  152.                             EndMember,
  153.                             StartMember, CheckBoxObject,
  154.                                 GA_Text, "CheckBox",
  155.                             EndMember,
  156.                             StartMember, CheckBoxObject,
  157.                                 GA_Text, "CheckBox",
  158.                             EndMember,
  159.                             StartMember, CheckBoxObject,
  160.                                 GA_Text, "CheckBox",
  161.                             EndMember,
  162.                             StartMember, CheckBoxObject,
  163.                                 GA_Text, "CheckBox",
  164.                             EndMember,
  165.                         End,
  166.                         StartVGroup,
  167.                             StartMember, CheckBoxObject,
  168.                                 GA_Text, "CheckBox",
  169.                             EndMember,
  170.                             StartMember, CheckBoxObject,
  171.                                 GA_Text, "CheckBox",
  172.                             EndMember,
  173.                             StartMember, CheckBoxObject,
  174.                                 GA_Text, "CheckBox",
  175.                             EndMember,
  176.                             StartMember, CheckBoxObject,
  177.                                 GA_Text, "CheckBox",
  178.                             EndMember,
  179.                             StartMember, CheckBoxObject,
  180.                                 GA_Text, "CheckBox",
  181.                             EndMember,
  182.                             StartMember, CheckBoxObject,
  183.                                 GA_Text, "CheckBox",
  184.                             EndMember,
  185.                             StartMember, CheckBoxObject,
  186.                                 GA_Text, "CheckBox",
  187.                             EndMember,
  188.                             StartMember, CheckBoxObject,
  189.                                 GA_Text, "CheckBox",
  190.                             EndMember,
  191.                             StartMember, CheckBoxObject,
  192.                                 GA_Text, "CheckBox",
  193.                             EndMember,
  194.                             StartMember, CheckBoxObject,
  195.                                 GA_Text, "CheckBox",
  196.                             EndMember,
  197.                         End,
  198.                         StartVGroup,
  199.                             StartMember, CheckBoxObject,
  200.                                 GA_Text, "CheckBox",
  201.                             EndMember,
  202.                             StartMember, CheckBoxObject,
  203.                                 GA_Text, "CheckBox",
  204.                             EndMember,
  205.                             StartMember, CheckBoxObject,
  206.                                 GA_Text, "CheckBox",
  207.                             EndMember,
  208.                             StartMember, CheckBoxObject,
  209.                                 GA_Text, "CheckBox",
  210.                             EndMember,
  211.                             StartMember, CheckBoxObject,
  212.                                 GA_Text, "CheckBox",
  213.                             EndMember,
  214.                             StartMember, CheckBoxObject,
  215.                                 GA_Text, "CheckBox",
  216.                             EndMember,
  217.                             StartMember, CheckBoxObject,
  218.                                 GA_Text, "CheckBox",
  219.                             EndMember,
  220.                             StartMember, CheckBoxObject,
  221.                                 GA_Text, "CheckBox",
  222.                             EndMember,
  223.                             StartMember, CheckBoxObject,
  224.                                 GA_Text, "CheckBox",
  225.                             EndMember,
  226.                             StartMember, CheckBoxObject,
  227.                                 GA_Text, "CheckBox",
  228.                             EndMember,
  229.                         End,
  230.  
  231.                     EndMember,
  232.                 EndWindow;
  233.  
  234.                 /*  Object creation sucessful?
  235.                  */
  236.                 if( Win_Object )
  237.                 {
  238.                     /*  Open the window.
  239.                      */
  240.                     if( window = (struct Window *) CA_OpenWindow(Win_Object) )
  241.                     {
  242.                         ULONG wait;
  243.                         
  244.                         /* Obtain the window wait signal mask.
  245.                          */
  246.                         GetAttr( WINDOW_SigMask, Win_Object, &signal );
  247.  
  248.                         /* Input Event Loop
  249.                          */
  250.                         while( !done )
  251.                         {
  252.                             wait = Wait(signal|SIGBREAKF_CTRL_C);
  253.                             
  254.                             if (wait & SIGBREAKF_CTRL_C) done = TRUE;
  255.                             else
  256.  
  257.                             while ((result = CA_HandleInput(Win_Object,NULL)) != WMHI_LASTMSG)
  258.                             {
  259.                                 switch(result)
  260.                                 {
  261.                                     case WMHI_CLOSEWINDOW:
  262.                                         done = TRUE;
  263.                                         break;
  264.                                 }
  265.                             }
  266.                         }
  267.                     }
  268.  
  269.                     /* Disposing of the window object will
  270.                      * also close the window if it is
  271.                      * already opened and it will dispose of
  272.                      * all objects attached to it.
  273.                      */
  274.                     DisposeObject( Win_Object );
  275.                 }
  276.             }
  277.         }
  278.     }
  279.  
  280.     /* Close the classes.
  281.      */
  282.     if (LayoutBase) CloseLibrary( (struct Library *)LayoutBase );
  283.     if (CheckBoxBase) CloseLibrary( (struct Library *)CheckBoxBase );
  284.     if (WindowBase) CloseLibrary( (struct Library *)WindowBase );
  285.     
  286.     FreeArgs(args);
  287. }
  288.  
  289. #ifdef _DCC
  290. int wbmain( struct WBStartup *wbs )
  291. {
  292.         return( main( 0, NULL ));
  293. }
  294. #endif
  295.